/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.dengues.model.component.impl;

import org.dengues.model.component.COLMUNType;
import org.dengues.model.component.COMPONENTType;
import org.dengues.model.component.CONNECTIONSType;
import org.dengues.model.component.CONNECTIONType;
import org.dengues.model.component.ComponentFactory;
import org.dengues.model.component.ComponentPackage;
import org.dengues.model.component.DocumentRoot;
import org.dengues.model.component.HEADERType;
import org.dengues.model.component.ITEMSType;
import org.dengues.model.component.ITEMType;
import org.dengues.model.component.PARAMETERSType;
import org.dengues.model.component.PARAMETERType;
import org.dengues.model.component.RETURNSType;
import org.dengues.model.component.RETURNType;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

import org.eclipse.emf.ecore.xml.type.XMLTypePackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class ComponentPackageImpl extends EPackageImpl implements ComponentPackage {
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass colmunTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass componentTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass connectionsTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass connectionTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass documentRootEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass headerTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass itemsTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass itemTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass parametersTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass parameterTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass returnsTypeEClass = null;

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private EClass returnTypeEClass = null;

    /**
     * Creates an instance of the model <b>Package</b>, registered with
     * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
     * package URI value.
     * <p>Note: the correct way to create the package is via the static
     * factory method {@link #init init()}, which also performs
     * initialization of the package, or returns the registered package,
     * if one already exists.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.eclipse.emf.ecore.EPackage.Registry
     * @see org.dengues.model.component.ComponentPackage#eNS_URI
     * @see #init()
     * @generated
     */
    private ComponentPackageImpl() {
        super(eNS_URI, ComponentFactory.eINSTANCE);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private static boolean isInited = false;

    /**
     * Creates, registers, and initializes the <b>Package</b> for this
     * model, and for any others upon which it depends.  Simple
     * dependencies are satisfied by calling this method on all
     * dependent packages before doing anything else.  This method drives
     * initialization for interdependent packages directly, in parallel
     * with this package, itself.
     * <p>Of this package and its interdependencies, all packages which
     * have not yet been registered by their URI values are first created
     * and registered.  The packages are then initialized in two steps:
     * meta-model objects for all of the packages are created before any
     * are initialized, since one package's meta-model objects may refer to
     * those of another.
     * <p>Invocation of this method will not affect any packages that have
     * already been initialized.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #eNS_URI
     * @see #createPackageContents()
     * @see #initializePackageContents()
     * @generated
     */
    public static ComponentPackage init() {
        if (isInited) return (ComponentPackage)EPackage.Registry.INSTANCE.getEPackage(ComponentPackage.eNS_URI);

        // Obtain or create and register package
        ComponentPackageImpl theComponentPackage = (ComponentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ComponentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ComponentPackageImpl());

        isInited = true;

        // Initialize simple dependencies
        XMLTypePackage.eINSTANCE.eClass();

        // Create package meta-data objects
        theComponentPackage.createPackageContents();

        // Initialize created meta-data
        theComponentPackage.initializePackageContents();

        // Mark meta-data to indicate it can't be changed
        theComponentPackage.freeze();

        return theComponentPackage;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getCOLMUNType() {
        return colmunTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_COMMENT() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_DEFAULT() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_KEY() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_LENGTH() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_NAME() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(4);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_NULLABLE() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(5);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_PATTERN() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(6);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_PRECISION() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(7);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCOLMUNType_TYPE() {
        return (EAttribute)colmunTypeEClass.getEStructuralFeatures().get(8);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getCOMPONENTType() {
        return componentTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getCOMPONENTType_HEADER() {
        return (EReference)componentTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getCOMPONENTType_PARAMETERS() {
        return (EReference)componentTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getCOMPONENTType_RETURNS() {
        return (EReference)componentTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getCOMPONENTType_CONNECTIONS() {
        return (EReference)componentTypeEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getCONNECTIONSType() {
        return connectionsTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getCONNECTIONSType_CONNECTION() {
        return (EReference)connectionsTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getCONNECTIONType() {
        return connectionTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCONNECTIONType_MAXINPUT() {
        return (EAttribute)connectionTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCONNECTIONType_MAXOUTPUT() {
        return (EAttribute)connectionTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCONNECTIONType_MININPUT() {
        return (EAttribute)connectionTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCONNECTIONType_MINOUTPUT() {
        return (EAttribute)connectionTypeEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getCONNECTIONType_NAME() {
        return (EAttribute)connectionTypeEClass.getEStructuralFeatures().get(4);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getDocumentRoot() {
        return documentRootEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getDocumentRoot_Mixed() {
        return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_XMLNSPrefixMap() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_XSISchemaLocation() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_COLMUN() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_COMPONENT() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_CONNECTION() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_CONNECTIONS() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(6);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_HEADER() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(7);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_ITEM() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(8);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_ITEMS() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(9);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_PARAMETER() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(10);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_PARAMETERS() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(11);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_RETURN() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(12);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getDocumentRoot_RETURNS() {
        return (EReference)documentRootEClass.getEStructuralFeatures().get(13);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getHEADERType() {
        return headerTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getHEADERType_EXTENSION() {
        return (EAttribute)headerTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getHEADERType_STARTABLE() {
        return (EAttribute)headerTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getHEADERType_VERSION() {
        return (EAttribute)headerTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getITEMSType() {
        return itemsTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getITEMSType_ITEM() {
        return (EReference)itemsTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getITEMSType_DEFALUT() {
        return (EAttribute)itemsTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getITEMSType_NAME() {
        return (EAttribute)itemsTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getITEMType() {
        return itemTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getITEMType_ITEMS() {
        return (EReference)itemTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getITEMType_FIELD() {
        return (EAttribute)itemTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getITEMType_NAME() {
        return (EAttribute)itemTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getITEMType_VALUE() {
        return (EAttribute)itemTypeEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getPARAMETERSType() {
        return parametersTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getPARAMETERSType_PARAMETER() {
        return (EReference)parametersTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getPARAMETERType() {
        return parameterTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getPARAMETERType_ITEMS() {
        return (EReference)parameterTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getPARAMETERType_COLMUN() {
        return (EReference)parameterTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_CONTEXT() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(2);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_DEFAULT() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(3);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_FIELD() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(4);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_IFREADONLY() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(5);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_IFREQUIRED() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(6);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_IFSHOW() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(7);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_NAME() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(8);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_NBLINES() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(9);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_REPOSITORYVALUE() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(10);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getPARAMETERType_ROWNUM() {
        return (EAttribute)parameterTypeEClass.getEStructuralFeatures().get(11);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getRETURNSType() {
        return returnsTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EReference getRETURNSType_RETURN() {
        return (EReference)returnsTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EClass getRETURNType() {
        return returnTypeEClass;
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getRETURNType_NAME() {
        return (EAttribute)returnTypeEClass.getEStructuralFeatures().get(0);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public EAttribute getRETURNType_TYPE() {
        return (EAttribute)returnTypeEClass.getEStructuralFeatures().get(1);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public ComponentFactory getComponentFactory() {
        return (ComponentFactory)getEFactoryInstance();
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private boolean isCreated = false;

    /**
     * Creates the meta-model objects for the package.  This method is
     * guarded to have no affect on any invocation but its first.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void createPackageContents() {
        if (isCreated) return;
        isCreated = true;

        // Create classes and their features
        colmunTypeEClass = createEClass(COLMUN_TYPE);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__COMMENT);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__DEFAULT);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__KEY);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__LENGTH);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__NAME);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__NULLABLE);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__PATTERN);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__PRECISION);
        createEAttribute(colmunTypeEClass, COLMUN_TYPE__TYPE);

        componentTypeEClass = createEClass(COMPONENT_TYPE);
        createEReference(componentTypeEClass, COMPONENT_TYPE__HEADER);
        createEReference(componentTypeEClass, COMPONENT_TYPE__PARAMETERS);
        createEReference(componentTypeEClass, COMPONENT_TYPE__RETURNS);
        createEReference(componentTypeEClass, COMPONENT_TYPE__CONNECTIONS);

        connectionsTypeEClass = createEClass(CONNECTIONS_TYPE);
        createEReference(connectionsTypeEClass, CONNECTIONS_TYPE__CONNECTION);

        connectionTypeEClass = createEClass(CONNECTION_TYPE);
        createEAttribute(connectionTypeEClass, CONNECTION_TYPE__MAXINPUT);
        createEAttribute(connectionTypeEClass, CONNECTION_TYPE__MAXOUTPUT);
        createEAttribute(connectionTypeEClass, CONNECTION_TYPE__MININPUT);
        createEAttribute(connectionTypeEClass, CONNECTION_TYPE__MINOUTPUT);
        createEAttribute(connectionTypeEClass, CONNECTION_TYPE__NAME);

        documentRootEClass = createEClass(DOCUMENT_ROOT);
        createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
        createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
        createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
        createEReference(documentRootEClass, DOCUMENT_ROOT__COLMUN);
        createEReference(documentRootEClass, DOCUMENT_ROOT__COMPONENT);
        createEReference(documentRootEClass, DOCUMENT_ROOT__CONNECTION);
        createEReference(documentRootEClass, DOCUMENT_ROOT__CONNECTIONS);
        createEReference(documentRootEClass, DOCUMENT_ROOT__HEADER);
        createEReference(documentRootEClass, DOCUMENT_ROOT__ITEM);
        createEReference(documentRootEClass, DOCUMENT_ROOT__ITEMS);
        createEReference(documentRootEClass, DOCUMENT_ROOT__PARAMETER);
        createEReference(documentRootEClass, DOCUMENT_ROOT__PARAMETERS);
        createEReference(documentRootEClass, DOCUMENT_ROOT__RETURN);
        createEReference(documentRootEClass, DOCUMENT_ROOT__RETURNS);

        headerTypeEClass = createEClass(HEADER_TYPE);
        createEAttribute(headerTypeEClass, HEADER_TYPE__EXTENSION);
        createEAttribute(headerTypeEClass, HEADER_TYPE__STARTABLE);
        createEAttribute(headerTypeEClass, HEADER_TYPE__VERSION);

        itemsTypeEClass = createEClass(ITEMS_TYPE);
        createEReference(itemsTypeEClass, ITEMS_TYPE__ITEM);
        createEAttribute(itemsTypeEClass, ITEMS_TYPE__DEFALUT);
        createEAttribute(itemsTypeEClass, ITEMS_TYPE__NAME);

        itemTypeEClass = createEClass(ITEM_TYPE);
        createEReference(itemTypeEClass, ITEM_TYPE__ITEMS);
        createEAttribute(itemTypeEClass, ITEM_TYPE__FIELD);
        createEAttribute(itemTypeEClass, ITEM_TYPE__NAME);
        createEAttribute(itemTypeEClass, ITEM_TYPE__VALUE);

        parametersTypeEClass = createEClass(PARAMETERS_TYPE);
        createEReference(parametersTypeEClass, PARAMETERS_TYPE__PARAMETER);

        parameterTypeEClass = createEClass(PARAMETER_TYPE);
        createEReference(parameterTypeEClass, PARAMETER_TYPE__ITEMS);
        createEReference(parameterTypeEClass, PARAMETER_TYPE__COLMUN);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__CONTEXT);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__DEFAULT);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__FIELD);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__IFREADONLY);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__IFREQUIRED);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__IFSHOW);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__NAME);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__NBLINES);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__REPOSITORYVALUE);
        createEAttribute(parameterTypeEClass, PARAMETER_TYPE__ROWNUM);

        returnsTypeEClass = createEClass(RETURNS_TYPE);
        createEReference(returnsTypeEClass, RETURNS_TYPE__RETURN);

        returnTypeEClass = createEClass(RETURN_TYPE);
        createEAttribute(returnTypeEClass, RETURN_TYPE__NAME);
        createEAttribute(returnTypeEClass, RETURN_TYPE__TYPE);
    }

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    private boolean isInitialized = false;

    /**
     * Complete the initialization of the package and its meta-model.  This
     * method is guarded to have no affect on any invocation but its first.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void initializePackageContents() {
        if (isInitialized) return;
        isInitialized = true;

        // Initialize package
        setName(eNAME);
        setNsPrefix(eNS_PREFIX);
        setNsURI(eNS_URI);

        // Obtain other dependent packages
        XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);

        // Create type parameters

        // Set bounds for type parameters

        // Add supertypes to classes

        // Initialize classes and features; add operations and parameters
        initEClass(colmunTypeEClass, COLMUNType.class, "COLMUNType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEAttribute(getCOLMUNType_COMMENT(), theXMLTypePackage.getString(), "cOMMENT", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_DEFAULT(), theXMLTypePackage.getString(), "dEFAULT", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_KEY(), theXMLTypePackage.getBoolean(), "kEY", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_LENGTH(), theXMLTypePackage.getInt(), "lENGTH", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_NAME(), theXMLTypePackage.getString(), "nAME", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_NULLABLE(), theXMLTypePackage.getBoolean(), "nULLABLE", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_PATTERN(), theXMLTypePackage.getString(), "pATTERN", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_PRECISION(), theXMLTypePackage.getInt(), "pRECISION", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCOLMUNType_TYPE(), theXMLTypePackage.getString(), "tYPE", null, 1, 1, COLMUNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(componentTypeEClass, COMPONENTType.class, "COMPONENTType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getCOMPONENTType_HEADER(), this.getHEADERType(), null, "hEADER", null, 1, 1, COMPONENTType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getCOMPONENTType_PARAMETERS(), this.getPARAMETERSType(), null, "pARAMETERS", null, 1, 1, COMPONENTType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getCOMPONENTType_RETURNS(), this.getRETURNSType(), null, "rETURNS", null, 1, 1, COMPONENTType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getCOMPONENTType_CONNECTIONS(), this.getCONNECTIONSType(), null, "cONNECTIONS", null, 1, 1, COMPONENTType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(connectionsTypeEClass, CONNECTIONSType.class, "CONNECTIONSType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getCONNECTIONSType_CONNECTION(), this.getCONNECTIONType(), null, "cONNECTION", null, 0, -1, CONNECTIONSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(connectionTypeEClass, CONNECTIONType.class, "CONNECTIONType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEAttribute(getCONNECTIONType_MAXINPUT(), theXMLTypePackage.getInt(), "mAXINPUT", null, 1, 1, CONNECTIONType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCONNECTIONType_MAXOUTPUT(), theXMLTypePackage.getInt(), "mAXOUTPUT", null, 1, 1, CONNECTIONType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCONNECTIONType_MININPUT(), theXMLTypePackage.getInt(), "mININPUT", null, 1, 1, CONNECTIONType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCONNECTIONType_MINOUTPUT(), theXMLTypePackage.getInt(), "mINOUTPUT", null, 1, 1, CONNECTIONType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getCONNECTIONType_NAME(), theXMLTypePackage.getString(), "nAME", null, 1, 1, CONNECTIONType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_COLMUN(), this.getCOLMUNType(), null, "cOLMUN", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_COMPONENT(), this.getCOMPONENTType(), null, "cOMPONENT", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_CONNECTION(), this.getCONNECTIONType(), null, "cONNECTION", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_CONNECTIONS(), this.getCONNECTIONSType(), null, "cONNECTIONS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_HEADER(), this.getHEADERType(), null, "hEADER", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_ITEM(), this.getITEMType(), null, "iTEM", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_ITEMS(), this.getITEMSType(), null, "iTEMS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_PARAMETER(), this.getPARAMETERType(), null, "pARAMETER", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_PARAMETERS(), this.getPARAMETERSType(), null, "pARAMETERS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_RETURN(), this.getRETURNType(), null, "rETURN", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
        initEReference(getDocumentRoot_RETURNS(), this.getRETURNSType(), null, "rETURNS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);

        initEClass(headerTypeEClass, HEADERType.class, "HEADERType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEAttribute(getHEADERType_EXTENSION(), theXMLTypePackage.getString(), "eXTENSION", null, 0, 1, HEADERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getHEADERType_STARTABLE(), theXMLTypePackage.getBoolean(), "sTARTABLE", null, 0, 1, HEADERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getHEADERType_VERSION(), theXMLTypePackage.getString(), "vERSION", null, 1, 1, HEADERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(itemsTypeEClass, ITEMSType.class, "ITEMSType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getITEMSType_ITEM(), this.getITEMType(), null, "iTEM", null, 0, -1, ITEMSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getITEMSType_DEFALUT(), theXMLTypePackage.getString(), "dEFALUT", null, 0, 1, ITEMSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getITEMSType_NAME(), theXMLTypePackage.getString(), "nAME", null, 0, 1, ITEMSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(itemTypeEClass, ITEMType.class, "ITEMType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getITEMType_ITEMS(), this.getITEMSType(), null, "iTEMS", null, 0, 1, ITEMType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getITEMType_FIELD(), theXMLTypePackage.getString(), "fIELD", null, 0, 1, ITEMType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getITEMType_NAME(), theXMLTypePackage.getString(), "nAME", null, 1, 1, ITEMType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getITEMType_VALUE(), theXMLTypePackage.getString(), "vALUE", null, 1, 1, ITEMType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(parametersTypeEClass, PARAMETERSType.class, "PARAMETERSType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getPARAMETERSType_PARAMETER(), this.getPARAMETERType(), null, "pARAMETER", null, 0, -1, PARAMETERSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(parameterTypeEClass, PARAMETERType.class, "PARAMETERType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getPARAMETERType_ITEMS(), this.getITEMSType(), null, "iTEMS", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEReference(getPARAMETERType_COLMUN(), this.getCOLMUNType(), null, "cOLMUN", null, 0, -1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_CONTEXT(), theXMLTypePackage.getString(), "cONTEXT", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_DEFAULT(), theXMLTypePackage.getString(), "dEFAULT", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_FIELD(), theXMLTypePackage.getString(), "fIELD", null, 1, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_IFREADONLY(), theXMLTypePackage.getBoolean(), "iFREADONLY", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_IFREQUIRED(), theXMLTypePackage.getBoolean(), "iFREQUIRED", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_IFSHOW(), theXMLTypePackage.getBoolean(), "iFSHOW", "true", 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_NAME(), theXMLTypePackage.getString(), "nAME", null, 1, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_NBLINES(), theXMLTypePackage.getInt(), "nBLINES", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_REPOSITORYVALUE(), theXMLTypePackage.getString(), "rEPOSITORYVALUE", null, 0, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getPARAMETERType_ROWNUM(), theXMLTypePackage.getInt(), "rOWNUM", null, 1, 1, PARAMETERType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(returnsTypeEClass, RETURNSType.class, "RETURNSType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEReference(getRETURNSType_RETURN(), this.getRETURNType(), null, "rETURN", null, 0, -1, RETURNSType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        initEClass(returnTypeEClass, RETURNType.class, "RETURNType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
        initEAttribute(getRETURNType_NAME(), theXMLTypePackage.getString(), "nAME", null, 0, 1, RETURNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
        initEAttribute(getRETURNType_TYPE(), theXMLTypePackage.getString(), "tYPE", null, 0, 1, RETURNType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

        // Create resource
        createResource(eNS_URI);

        // Create annotations
        // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
        createExtendedMetaDataAnnotations();
    }

    /**
     * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    protected void createExtendedMetaDataAnnotations() {
        String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";		
        addAnnotation
          (this, 
           source, 
           new String[] {
             "qualified", "false"
           });		
        addAnnotation
          (colmunTypeEClass, 
           source, 
           new String[] {
             "name", "COLMUN_._type",
             "kind", "empty"
           });		
        addAnnotation
          (getCOLMUNType_COMMENT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "COMMENT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_DEFAULT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "DEFAULT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_KEY(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "KEY",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_LENGTH(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "LENGTH",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_NULLABLE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NULLABLE",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_PATTERN(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "PATTERN",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_PRECISION(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "PRECISION",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOLMUNType_TYPE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "TYPE",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (componentTypeEClass, 
           source, 
           new String[] {
             "name", "COMPONENT_._type",
             "kind", "elementOnly"
           });			
        addAnnotation
          (getCOMPONENTType_HEADER(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "HEADER",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getCOMPONENTType_PARAMETERS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "PARAMETERS",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getCOMPONENTType_RETURNS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "RETURNS",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCOMPONENTType_CONNECTIONS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "CONNECTIONS",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (connectionsTypeEClass, 
           source, 
           new String[] {
             "name", "CONNECTIONS_._type",
             "kind", "elementOnly"
           });		
        addAnnotation
          (getCONNECTIONSType_CONNECTION(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "CONNECTION",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (connectionTypeEClass, 
           source, 
           new String[] {
             "name", "CONNECTION_._type",
             "kind", "empty"
           });		
        addAnnotation
          (getCONNECTIONType_MAXINPUT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "MAX_INPUT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCONNECTIONType_MAXOUTPUT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "MAX_OUTPUT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCONNECTIONType_MININPUT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "MIN_INPUT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCONNECTIONType_MINOUTPUT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "MIN_OUTPUT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getCONNECTIONType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (documentRootEClass, 
           source, 
           new String[] {
             "name", "",
             "kind", "mixed"
           });		
        addAnnotation
          (getDocumentRoot_Mixed(), 
           source, 
           new String[] {
             "kind", "elementWildcard",
             "name", ":mixed"
           });		
        addAnnotation
          (getDocumentRoot_XMLNSPrefixMap(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "xmlns:prefix"
           });		
        addAnnotation
          (getDocumentRoot_XSISchemaLocation(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "xsi:schemaLocation"
           });		
        addAnnotation
          (getDocumentRoot_COLMUN(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "COLMUN",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_COMPONENT(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "COMPONENT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getDocumentRoot_CONNECTION(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "CONNECTION",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getDocumentRoot_CONNECTIONS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "CONNECTIONS",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_HEADER(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "HEADER",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getDocumentRoot_ITEM(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "ITEM",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getDocumentRoot_ITEMS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "ITEMS",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_PARAMETER(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "PARAMETER",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_PARAMETERS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "PARAMETERS",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_RETURN(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "RETURN",
             "namespace", "##targetNamespace"
           });			
        addAnnotation
          (getDocumentRoot_RETURNS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "RETURNS",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (headerTypeEClass, 
           source, 
           new String[] {
             "name", "HEADER_._type",
             "kind", "empty"
           });		
        addAnnotation
          (getHEADERType_EXTENSION(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "EXTENSION",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getHEADERType_STARTABLE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "STARTABLE",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getHEADERType_VERSION(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "VERSION",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (itemsTypeEClass, 
           source, 
           new String[] {
             "name", "ITEMS_._type",
             "kind", "elementOnly"
           });		
        addAnnotation
          (getITEMSType_ITEM(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "ITEM",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getITEMSType_DEFALUT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "DEFALUT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getITEMSType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (itemTypeEClass, 
           source, 
           new String[] {
             "name", "ITEM_._type",
             "kind", "elementOnly"
           });		
        addAnnotation
          (getITEMType_ITEMS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "ITEMS",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getITEMType_FIELD(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "FIELD",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getITEMType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getITEMType_VALUE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "VALUE",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (parametersTypeEClass, 
           source, 
           new String[] {
             "name", "PARAMETERS_._type",
             "kind", "elementOnly"
           });			
        addAnnotation
          (getPARAMETERSType_PARAMETER(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "PARAMETER",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (parameterTypeEClass, 
           source, 
           new String[] {
             "name", "PARAMETER_._type",
             "kind", "elementOnly"
           });		
        addAnnotation
          (getPARAMETERType_ITEMS(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "ITEMS",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_COLMUN(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "COLMUN",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_CONTEXT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "CONTEXT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_DEFAULT(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "DEFAULT",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_FIELD(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "FIELD",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_IFREADONLY(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "IFREADONLY",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_IFREQUIRED(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "IFREQUIRED",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_IFSHOW(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "IFSHOW",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_NBLINES(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NB_LINES",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_REPOSITORYVALUE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "REPOSITORYVALUE",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getPARAMETERType_ROWNUM(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "ROW_NUM",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (returnsTypeEClass, 
           source, 
           new String[] {
             "name", "RETURNS_._type",
             "kind", "elementOnly"
           });			
        addAnnotation
          (getRETURNSType_RETURN(), 
           source, 
           new String[] {
             "kind", "element",
             "name", "RETURN",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (returnTypeEClass, 
           source, 
           new String[] {
             "name", "RETURN_._type",
             "kind", "empty"
           });		
        addAnnotation
          (getRETURNType_NAME(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "NAME",
             "namespace", "##targetNamespace"
           });		
        addAnnotation
          (getRETURNType_TYPE(), 
           source, 
           new String[] {
             "kind", "attribute",
             "name", "TYPE",
             "namespace", "##targetNamespace"
           });
    }

} //ComponentPackageImpl
